<html>
<head>
<link href="../tutorial.css" rel="stylesheet" type="text/css">
</head>
<body>

<div class="header">
The NakedMud Tutorial :: Zone Structure
</div>

<!-- content starts here -->
<div class="content-wrap"><div class="content-body-wrap"><div class="content">
<div class="head">Zones</div>
<div class="info">
Zones are organizational units for builders. Each zone houses a list of
mobiles, objects, rooms, triggers, reset instructions, and potentially other
additions, henceforth called contents. Each zone can be assigned a list of 
builders who have editing access.
</div>

<div class="head">Zone Keys</div>
<div class="info">
Each zone has a unique reference key associated with it. Likewise, each zone
content also has a unique zone-relative key. Most muds accomplish this with use
of a virtual number (vnum) based referencing system. That each, each unique
zone, room, object, mobile, etc... has a unique key number associated with it.
In many DIKU muds, the default start room has a vnum of 1204. Whenever a builder
would want to reference this start room, they would use the number 1204 as a
reference key to access it.
<p></p>
NakedMud uses a string based referencing system. Each content of a zone is
assigned a unique string-based key (e.g., fido, mayor, town_square) instead of
a number. Contents of different types (e.g., mobiles vs. objects) can share the
same unique key. Key reference is context-dependent, and will identify the
correct type of content you are referring to. Zones also have unique keys. When
a content key is referenced, it is implicit that the user means the content key
of the zone they are currently within. For instance, using the command:
<pre class="mud">
> <font class="cmd">goto town_square</font>
</pre>
would attempt to take you to the room with key town_square in city1 if you are
currently in city1, or the room with key town_square in city2 if you are
currently in city2. Keys from other zones may be referenced by following the
content key with an '@' symbol and the relevant zone key. For instance, if you 
are  currently in city1 but would like to go to the town square of city2, you 
could use the command:
<pre class="mud">
> <font class="cmd">goto town_square@city2</font>
</pre>
</div>

<div class="head">Zone contents</div>
<div class="info">
By default, zones support room, object, mobile, and trigger contents. However,
new content types can be added to the game (discussed in C basics). Additional
modules are available for Quest and NPC dialog contents.
</div>

<!-- content ends here-->
</div></div></div>

<!-- navigation starts here -->
<div class="nav-wrap"><div class="nav">
<iframe src="nav.html" height="100%" width="100%" scrolling=no frameborder=0>
</iframe>
<!-- navigation ends here -->
</div></div>

<!--div class="footer">Edit Date: Nov 15, 2008. By Geoff Hollis</div-->
</body>
</html>
